' Joystick button bit-flags used by tJoyInfo.ButtonStates
Global Const JOY_BUTTON1 = &H1
Global Const JOY_BUTTON2 = &H2
Global Const JOY_BUTTON3 = &H4
Global Const JOY_BUTTON4 = &H8
' Joystick Position
Type tJoyInfo
X As Long
Y As Long
Z As Long
ButtonStates As Long
' This is determined by the fields above.
ButtonDown(1 To 4) As Integer
End Type
' Joystick Capabilities
Const MAXPNAMELEN = 32
Const MAXOEMVXD = 128
Type tJoyCaps
Mid As Integer
Pid As Integer
Pname As String * MAXPNAMELEN
Xmin As Long
Xmax As Long
Ymin As Long
Ymax As Long
Zmin As Long
Zmax As Long
NumButtons As Long
PeriodMin As Long
PeriodMax As Long
wRmin As Long
wRmax As Long
wUmin As Long
wUmax As Long
wVmin As Long
wVmax As Long
wCaps As Long
wMaxAxes As Long
wNumAxes As Long
wMaxButtons As Long
szRegKey As String * MAXPNAMELEN
szOEMVxD As String * MAXOEMVXD
End Type
Global JoyCaps As tJoyCaps
' Joystick API Calls
Declare Function joyGetDevCaps Lib "winmm.dll" Alias "joyGetDevCapsA" (ByVal IDDevice As Integer, JCaps As tJoyCaps, ByVal CapSize As Integer) As Integer
Declare Function joyGetPos Lib "winmm.dll" (ByVal IDDevice As Integer, JPos As tJoyInfo) As Integer
Function GetJoystickPos(IDDevice As Long, JoyInfo As tJoyInfo) As Integer